Modelica.Media.Interfaces.PartialMedium.FluidConstants
replaceable record FluidConstants
"critical, triple, molecular and other standard data of fluid"
extends Modelica.Icons.Record;
String iupacName "complete IUPAC name (or common name, if non-existent)";
String casRegistryNumber
"chemical abstracts sequencing number (if it exists)";
String chemicalFormula
"Chemical formula, (brutto, nomenclature according to Hill";
String structureFormula "Chemical structure formula";
MolarMass molarMass "molar mass";
end FluidConstants;
Modelica.Media.Interfaces.PartialMedium.prandtlNumber
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| PrandtlNumber | Pr | Prandtl number [1] |
replaceable function prandtlNumber "Return the Prandtl number"
extends Modelica.Icons.Function;
input ThermodynamicState state "thermodynamic state record";
output PrandtlNumber Pr "Prandtl number";
algorithm
Pr := dynamicViscosity(state)*specificHeatCapacityCp(state)/thermalConductivity(
state);
end prandtlNumber;
Modelica.Media.Interfaces.PartialMedium.specificEntropy
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| SpecificEntropy | s | Specific entropy [J/(kg.K)] |
replaceable partial function specificEntropy "Return specific entropy" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output SpecificEntropy s "Specific entropy"; end specificEntropy;
Modelica.Media.Interfaces.PartialMedium.specificGibbsEnergy
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| SpecificEnergy | g | Specific Gibbs energy [J/kg] |
replaceable partial function specificGibbsEnergy "Return specific Gibbs energy" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output SpecificEnergy g "Specific Gibbs energy"; end specificGibbsEnergy;
Modelica.Media.Interfaces.PartialMedium.specificHelmholtzEnergy
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| SpecificEnergy | f | Specific Helmholtz energy [J/kg] |
replaceable partial function specificHelmholtzEnergy "Return specific Helmholtz energy" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output SpecificEnergy f "Specific Helmholtz energy"; end specificHelmholtzEnergy;
Modelica.Media.Interfaces.PartialMedium.heatCapacity_cp
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| SpecificHeatCapacity | cp | Specific heat capacity at constant pressure [J/(kg.K)] |
function heatCapacity_cp = specificHeatCapacityCp "alias for deprecated name";
Modelica.Media.Interfaces.PartialMedium.heatCapacity_cv
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| SpecificHeatCapacity | cv | Specific heat capacity at constant volume [J/(kg.K)] |
function heatCapacity_cv = specificHeatCapacityCv "alias for deprecated name";
Modelica.Media.Interfaces.PartialMedium.isentropicEnthalpyThis function computes an isentropic state transformation:
| Type | Name | Default | Description |
|---|---|---|---|
| AbsolutePressure | p_downstream | downstream pressure [Pa] | |
| ThermodynamicState | refState | reference state for entropy |
| Type | Name | Description |
|---|---|---|
| SpecificEnthalpy | h_is | Isentropic enthalpy [J/kg] |
replaceable partial function isentropicEnthalpy "Return isentropic enthalpy" extends Modelica.Icons.Function; input AbsolutePressure p_downstream "downstream pressure"; input ThermodynamicState refState "reference state for entropy"; output SpecificEnthalpy h_is "Isentropic enthalpy";end isentropicEnthalpy;
Modelica.Media.Interfaces.PartialMedium.isobaricExpansionCoefficientbeta is defined as 1/v * der(v,T), with v = 1/d, at constant pressure p.Extends from Modelica.Icons.Function (Icon for functions).
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| IsobaricExpansionCoefficient | beta | Isobaric expansion coefficient [1/K] |
replaceable partial function isobaricExpansionCoefficient "Return overall the isobaric expansion coefficient beta" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output IsobaricExpansionCoefficient beta "Isobaric expansion coefficient";end isobaricExpansionCoefficient;
Modelica.Media.Interfaces.PartialMedium.beta
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| IsobaricExpansionCoefficient | beta | Isobaric expansion coefficient [1/K] |
function beta = isobaricExpansionCoefficient "alias for isobaricExpansionCoefficient for user convenience";
Modelica.Media.Interfaces.PartialMedium.isothermalCompressibilitykappa is defined as - 1/v * der(v,p), with v = 1/d at constant temperature T.Extends from Modelica.Icons.Function (Icon for functions).
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| IsothermalCompressibility | kappa | Isothermal compressibility [1/Pa] |
replaceable partial function isothermalCompressibility "Return overall the isothermal compressibility factor" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output SI.IsothermalCompressibility kappa "Isothermal compressibility";end isothermalCompressibility;
Modelica.Media.Interfaces.PartialMedium.kappa
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| IsothermalCompressibility | kappa | Isothermal compressibility [1/Pa] |
function kappa = isothermalCompressibility "alias of isothermalCompressibility for user convenience";
Modelica.Media.Interfaces.PartialMedium.density_derp_h
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| DerDensityByPressure | ddph | Density derivative w.r.t. pressure [s2/m2] |
replaceable partial function density_derp_h "Return density derivative w.r.t. pressure at const specific enthalpy" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output DerDensityByPressure ddph "Density derivative w.r.t. pressure"; end density_derp_h;
Modelica.Media.Interfaces.PartialMedium.density_derh_p
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| DerDensityByEnthalpy | ddhp | Density derivative w.r.t. specific enthalpy [kg.s2/m5] |
replaceable partial function density_derh_p
"Return density derivative w.r.t. specific enthalpy at constant pressure"
extends Modelica.Icons.Function;
input ThermodynamicState state "thermodynamic state record";
output DerDensityByEnthalpy ddhp
"Density derivative w.r.t. specific enthalpy";
end density_derh_p;
Modelica.Media.Interfaces.PartialMedium.density_derp_T
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| DerDensityByPressure | ddpT | Density derivative w.r.t. pressure [s2/m2] |
replaceable partial function density_derp_T "Return density derivative w.r.t. pressure at const temperature" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output DerDensityByPressure ddpT "Density derivative w.r.t. pressure"; end density_derp_T;
Modelica.Media.Interfaces.PartialMedium.density_derT_p
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| DerDensityByTemperature | ddTp | Density derivative w.r.t. temperature [kg/(m3.K)] |
replaceable partial function density_derT_p "Return density derivative w.r.t. temperature at constant pressure" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output DerDensityByTemperature ddTp "Density derivative w.r.t. temperature"; end density_derT_p;
Modelica.Media.Interfaces.PartialMedium.density_derX
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| Density | dddX[nX] | Derivative of density w.r.t. mass fraction [kg/m3] |
replaceable partial function density_derX "Return density derivative w.r.t. mass fraction" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output Density[nX] dddX "Derivative of density w.r.t. mass fraction"; end density_derX;
Modelica.Media.Interfaces.PartialMedium.molarMass
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| MolarMass | MM | Mixture molar mass [kg/mol] |
replaceable partial function molarMass "Return the molar mass of the medium" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output MolarMass MM "Mixture molar mass"; end molarMass;
Modelica.Media.Interfaces.PartialMedium.specificEntropy_pTX
| Type | Name | Default | Description |
|---|---|---|---|
| AbsolutePressure | p | Pressure [Pa] | |
| Temperature | T | Temperature [K] | |
| MassFraction | X[:] | reference_X | Mass fractions [kg/kg] |
| Type | Name | Description |
|---|---|---|
| SpecificEntropy | s | Specific entropy [J/(kg.K)] |
replaceable function specificEntropy_pTX "Return specific enthalpy from p, T, and X or Xi" extends Modelica.Icons.Function; input AbsolutePressure p "Pressure"; input Temperature T "Temperature"; input MassFraction X[:]=reference_X "Mass fractions"; output SpecificEntropy s "Specific entropy"; algorithm s := specificEntropy(setState_pTX(p,T,X));end specificEntropy_pTX;
Modelica.Media.Interfaces.PartialMedium.density_pTX
| Type | Name | Default | Description |
|---|---|---|---|
| AbsolutePressure | p | Pressure [Pa] | |
| Temperature | T | Temperature [K] | |
| MassFraction | X[:] | Mass fractions [kg/kg] |
| Type | Name | Description |
|---|---|---|
| Density | d | Density [kg/m3] |
replaceable function density_pTX "Return density from p, T, and X or Xi" extends Modelica.Icons.Function; input AbsolutePressure p "Pressure"; input Temperature T "Temperature"; input MassFraction X[:] "Mass fractions"; output Density d "Density"; algorithm d := density(setState_pTX(p,T,X)); end density_pTX;
Modelica.Media.Interfaces.PartialMedium.temperature_psX
| Type | Name | Default | Description |
|---|---|---|---|
| AbsolutePressure | p | Pressure [Pa] | |
| SpecificEntropy | s | Specific entropy [J/(kg.K)] | |
| MassFraction | X[:] | reference_X | Mass fractions [kg/kg] |
| Type | Name | Description |
|---|---|---|
| Temperature | T | Temperature [K] |
replaceable function temperature_psX "Return temperature from p,s, and X or Xi" extends Modelica.Icons.Function; input AbsolutePressure p "Pressure"; input SpecificEntropy s "Specific entropy"; input MassFraction X[:]=reference_X "Mass fractions"; output Temperature T "Temperature"; algorithm T := temperature(setState_psX(p,s,X));end temperature_psX;
Modelica.Media.Interfaces.PartialMedium.density_psX
| Type | Name | Default | Description |
|---|---|---|---|
| AbsolutePressure | p | Pressure [Pa] | |
| SpecificEntropy | s | Specific entropy [J/(kg.K)] | |
| MassFraction | X[:] | reference_X | Mass fractions [kg/kg] |
| Type | Name | Description |
|---|---|---|
| Density | d | Density [kg/m3] |
replaceable function density_psX "Return density from p, s, and X or Xi" extends Modelica.Icons.Function; input AbsolutePressure p "Pressure"; input SpecificEntropy s "Specific entropy"; input MassFraction X[:]=reference_X "Mass fractions"; output Density d "Density"; algorithm d := density(setState_psX(p,s,X)); end density_psX;
Modelica.Media.Interfaces.PartialMedium.specificEnthalpy_psX
| Type | Name | Default | Description |
|---|---|---|---|
| AbsolutePressure | p | Pressure [Pa] | |
| SpecificEntropy | s | Specific entropy [J/(kg.K)] | |
| MassFraction | X[:] | reference_X | Mass fractions [kg/kg] |
| Type | Name | Description |
|---|---|---|
| SpecificEnthalpy | h | Specific enthalpy [J/kg] |
replaceable function specificEnthalpy_psX "Return specific enthalpy from p, s, and X or Xi" extends Modelica.Icons.Function; input AbsolutePressure p "Pressure"; input SpecificEntropy s "Specific entropy"; input MassFraction X[:]=reference_X "Mass fractions"; output SpecificEnthalpy h "Specific enthalpy"; algorithm h := specificEnthalpy(setState_psX(p,s,X)); end specificEnthalpy_psX;
Modelica.Media.Interfaces.PartialMedium.setState_psX
| Type | Name | Default | Description |
|---|---|---|---|
| AbsolutePressure | p | Pressure [Pa] | |
| SpecificEntropy | s | Specific entropy [J/(kg.K)] | |
| MassFraction | X[:] | reference_X | Mass fractions [kg/kg] |
| Type | Name | Description |
|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
replaceable partial function setState_psX "Return thermodynamic state as function of p, s and composition X or Xi" extends Modelica.Icons.Function; input AbsolutePressure p "Pressure"; input SpecificEntropy s "Specific entropy"; input MassFraction X[:]=reference_X "Mass fractions"; output ThermodynamicState state "thermodynamic state record"; end setState_psX;
Modelica.Media.Interfaces.PartialMedium.setSmoothStateThis function is used to approximate the equation
state = if x > 0 then state_a else state_b;
by a smooth characteristic, so that the expression is continuous and differentiable:
state := smooth(1, if x > x_small then state_a else
if x < -x_small then state_b else f(state_a, state_b));
This is performed by applying function Media.Common.smoothStep(..) on every element of the thermodynamic state record.
If mass fractions X[:] are approximated with this function then this can be performed for all nX mass fractions, instead of applying it for nX-1 mass fractions and computing the last one by the mass fraction constraint sum(X)=1. The reason is that the approximating function has the property that sum(state.X) = 1, provided sum(state_a.X) = sum(state_b.X) = 1. This can be shown by evaluating the approximating function in the abs(x) < x_small region (otherwise state.X is either state_a.X or state_b.X):
X[1] = smoothStep(x, X_a[1] , X_b[1] , x_small);
X[2] = smoothStep(x, X_a[2] , X_b[2] , x_small);
...
X[nX] = smoothStep(x, X_a[nX], X_b[nX], x_small);
or
X[1] = c*(X_a[1] - X_b[1]) + (X_a[1] + X_b[1])/2
X[2] = c*(X_a[2] - X_b[2]) + (X_a[2] + X_b[2])/2;
...
X[nX] = c*(X_a[nX] - X_b[nX]) + (X_a[nX] + X_b[nX])/2;
c = (x/x_small)*((x/x_small)^2 - 3)/4
Summing all mass fractions together results in
sum(X) = c*(sum(X_a) - sum(X_b)) + (sum(X_a) + sum(X_b))/2
= c*(1 - 1) + (1 + 1)/2
= 1
Extends from Modelica.Icons.Function (Icon for functions).
| Type | Name | Default | Description |
|---|---|---|---|
| Real | x | m_flow or dp | |
| ThermodynamicState | state_a | Thermodynamic state if x > 0 | |
| ThermodynamicState | state_b | Thermodynamic state if x < 0 | |
| Real | x_small | Smooth transition in the region -x_small < x < x_small |
| Type | Name | Description |
|---|---|---|
| ThermodynamicState | state | Smooth thermodynamic state for all x (continuous and differentiable) |
replaceable partial function setSmoothState
"Return thermodynamic state so that it smoothly approximates: if x > 0 then state_a else state_b"
extends Modelica.Icons.Function;
input Real x "m_flow or dp";
input ThermodynamicState state_a "Thermodynamic state if x > 0";
input ThermodynamicState state_b "Thermodynamic state if x < 0";
input Real x_small(min=0)
"Smooth transition in the region -x_small < x < x_small";
output ThermodynamicState state
"Smooth thermodynamic state for all x (continuous and differentiable)";
end setSmoothState;
Modelica.Media.Interfaces.PartialMedium.isentropicExponent
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| IsentropicExponent | gamma | Isentropic exponent [1] |
replaceable partial function isentropicExponent "Return isentropic exponent" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output IsentropicExponent gamma "Isentropic exponent"; end isentropicExponent;
Modelica.Media.Interfaces.PartialMedium.velocityOfSound
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| VelocityOfSound | a | Velocity of sound [m/s] |
replaceable partial function velocityOfSound "Return velocity of sound" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output VelocityOfSound a "Velocity of sound"; end velocityOfSound;
Modelica.Media.Interfaces.PartialMedium.specificEnthalpy_pTX
| Type | Name | Default | Description |
|---|---|---|---|
| AbsolutePressure | p | Pressure [Pa] | |
| Temperature | T | Temperature [K] | |
| MassFraction | X[:] | reference_X | Mass fractions [kg/kg] |
| Type | Name | Description |
|---|---|---|
| SpecificEnthalpy | h | Specific enthalpy [J/kg] |
replaceable function specificEnthalpy_pTX "Return specific enthalpy from p, T, and X or Xi" extends Modelica.Icons.Function; input AbsolutePressure p "Pressure"; input Temperature T "Temperature"; input MassFraction X[:]=reference_X "Mass fractions"; output SpecificEnthalpy h "Specific enthalpy"; algorithm h := specificEnthalpy(setState_pTX(p,T,X));end specificEnthalpy_pTX;
Modelica.Media.Interfaces.PartialMedium.temperature_phX
| Type | Name | Default | Description |
|---|---|---|---|
| AbsolutePressure | p | Pressure [Pa] | |
| SpecificEnthalpy | h | Specific enthalpy [J/kg] | |
| MassFraction | X[:] | reference_X | Mass fractions [kg/kg] |
| Type | Name | Description |
|---|---|---|
| Temperature | T | Temperature [K] |
replaceable function temperature_phX "Return temperature from p, h, and X or Xi" extends Modelica.Icons.Function; input AbsolutePressure p "Pressure"; input SpecificEnthalpy h "Specific enthalpy"; input MassFraction X[:]=reference_X "Mass fractions"; output Temperature T "Temperature"; algorithm T := temperature(setState_phX(p,h,X)); end temperature_phX;
Modelica.Media.Interfaces.PartialMedium.density_phX
| Type | Name | Default | Description |
|---|---|---|---|
| AbsolutePressure | p | Pressure [Pa] | |
| SpecificEnthalpy | h | Specific enthalpy [J/kg] | |
| MassFraction | X[:] | reference_X | Mass fractions [kg/kg] |
| Type | Name | Description |
|---|---|---|
| Density | d | Density [kg/m3] |
replaceable function density_phX "Return density from p, h, and X or Xi" extends Modelica.Icons.Function; input AbsolutePressure p "Pressure"; input SpecificEnthalpy h "Specific enthalpy"; input MassFraction X[:]=reference_X "Mass fractions"; output Density d "Density"; algorithm d := density(setState_phX(p,h,X)); end density_phX;
Modelica.Media.Interfaces.PartialMedium.specificInternalEnergy
| Type | Name | Default | Description |
|---|---|---|---|
| ThermodynamicState | state | thermodynamic state record |
| Type | Name | Description |
|---|---|---|
| SpecificEnergy | u | Specific internal energy [J/kg] |
replaceable partial function specificInternalEnergy "Return specific internal energy" extends Modelica.Icons.Function; input ThermodynamicState state "thermodynamic state record"; output SpecificEnergy u "Specific internal energy"; end specificInternalEnergy;